// utils/crypto.ts
// import CryptoJS from 'crypto-js'

/**
 * @returns 生成一个随机盐值
 */
export const generateSalt = (): string => {
  const randomBytes = new Uint8Array(16)
  crypto.getRandomValues(randomBytes)
  return Array.from(randomBytes, (byte) =>
    byte.toString(16).padStart(2, '0')
  ).join('')
}

/**
 * @param password 需要加密的密码
 * @param salt 用于加密的盐值
 * @returns 使用PBKDF2算法加密密码
 */
export const encryptPassword = (password: string): string => {
  // const hashed = CryptoJS.PBKDF2(password, salt, {
  //   keySize: 256 / 32,
  //   iterations: 600_000, // OWASP推荐迭代次数
  //   hasher: CryptoJS.algo.SHA256
  // })
  // return hashed.toString(CryptoJS.enc.Base64)
  return window.btoa(password)
}
